package org.helios.gwt.remote.client;

import com.google.gwt.core.client.JavaScriptObject;

/**
 * Utility interface for "exporting" an implementation of T.
 * Use this way:
 * <pre>
 * interface ConcreteExporter extends Exporter&lt;ConcreteInterface&gt; {}
 * ...
 * ConcreteExporter e = GWT.create(ConcreteExporter);
 * JavaScriptObject jso = e.export(myImplementation);
 * // feel free to share jso with the world
 * </pre>
 * @param <T> interface that will be exported to "open" javascript
 */
public interface Exporter<T> 
{
	JavaScriptObject export(T obj);
}
